/*-
 * GenericService.java
 *
 * Date: 2016年5月24日
 * Time: 下午8:23:18
 *
 * 版权所有©2012-2013 rengh
 */

package com.lmx.persistence.service;

import com.lmx.persistence.IOperations;
import com.lmx.repoDomain.tmodel.Identifiable;
import com.lmx.repoDomain.tmodel.unpersis.ExportParam;

import io.katharsis.queryParams.QueryParams;

public interface GenericService<T> extends IOperations {

	public Identifiable findById(final Long id);

	public Iterable<T> findAll(final QueryParams requestParams);

	public Iterable<T> findAllBusi(final QueryParams reQueryParams,
			Long tenantId, Boolean page);

	public Iterable<T> findAllBusi(final QueryParams requestParams,
			Long tenantId);

	public void setEntityClass(final Class entityClass);

	/**
	 * 导出excel
	 * 
	 * @author ytche
	 * @param reQueryParams
	 * @param tenantId
	 * @param exportParam
	 * @return
	 * @date 2017年5月9日 下午3:17:00
	 */
	public Iterable<T> export(final QueryParams reQueryParams, Long tenantId,
			ExportParam exportParam);
}
